package org.nmgyjt.springboot.entity.sms;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class YuFuMSSendEntity {

    /**
     * 短信发送接口该值传sendShortMessage
     */
    String action = "sendShortMessage";

    /**
     * 短信类型：
     * 手机号登录：LOGIN
     * 重置密码（临时密码）：RESET_PASSWORD_OTP
     * 自助解锁：UNLOCK
     * 忘记密码：FORGET_PASSWORD
     * MFA短信验证：MFA_OTP
     * 激活：ACTIVATE_OTP
     * 通知:NOTIFICATION
     */
    String type = "NOTIFICATION";

    /**
     * \
     * 模版参数；若无模版参数，则为空；
     */
    List<String> templateParamSet;

    /**
     * 单次请求里会全为境内手机号或境外手机号
     * 格式采用 E.164 标准，为+[国家或地区码][手机号]
     * 例如：+8613711112222。其中，前面有一个+号 ，86为国家码，13711112222为手机号。
     */
    List<String> phoneNumSet;

    /**
     * 请求唯一标识
     */
    String requestId = System.currentTimeMillis() + "";

    public YuFuMSSendEntity() {
    }

    public YuFuMSSendEntity(String action, String type, List<String> templateParamSet, List<String> phoneNumSet, String requestId) {
        this.action = action;
        this.type = type;
        this.templateParamSet = templateParamSet;
        this.phoneNumSet = phoneNumSet;
        this.requestId = requestId;
    }

    public String getAction() {
        return action;
    }

    public void setAction(String action) {
        this.action = action;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public List<String> getTemplateParamSet() {
        return templateParamSet;
    }

    public void setTemplateParamSet(List<String> templateParamSet) {
        this.templateParamSet = templateParamSet;
    }

    public List<String> getPhoneNumSet() {
        return phoneNumSet;
    }

    public void setPhoneNumSet(List<String> phoneNumSet) {
        this.phoneNumSet = phoneNumSet;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }
}
